const path = require('path')
function resolve(dir) {
  return path.join(__dirname, dir)
}

function onProxyReq (proxyReq, req, res) {
  //实在不知道代理后的路径，可以在这里打印出出来看看
  console.log(req.originalUrl, " -> " + req.path)
  console.log(res.headers)
}
const https = !!process.env.VUE_APP_HTTPS
module.exports = {
  lintOnSave: false,
  productionSourceMap: false,
  devServer: {
    https,
    port: 8008,
    proxy: {
      '/api': {
        //本地服务接口地址
        target: 'http://127.0.0.1:3030/',
        ws: true,
        pathRewrite: {
          // '^/api': '/'
        }
      },
      '/Upload': {
        target: 'http://127.0.0.1:3030/'
      },
      // '/flow': {
      //   target: 'http://39.99.130.9:7889',
      //   // target: 'http://10.0.0.17:7889/',
      //   pathRewrite: {
      //     '^/flow': ''
      //   }
      // },
      '/online': {
        //本地服务接口地址
        target: 'http://mapchang.com:2020', 
        ws: true,
        pathRewrite: {
          '^/online': '/api'
        }
      },
      '/ws': {
        target: 'ws://localhost:3030',
        // target: 'ws://10.8.0.2:3031',
        ws: true
     },
    },
  },
  chainWebpack: (config) => {
    config.resolve.alias.set('@public', resolve('public'))
    // 忽略的打包文件
    config.externals({
      'vue': 'Vue',
      'vue-router': 'VueRouter',
      'vuex': 'Vuex',
      'axios': 'axios',
      'element-ui': 'ELEMENT',
      'vform': 'VFormDesigner'
    })
    const svgRule = config.module.rule('svg')
    // 清除已有的所有 loader,如果你不这样做，接下来的 loader 会附加在该规则现有的 loader 之后。
    svgRule.uses.clear()
    // 添加要替换的 loader
    svgRule
        .test(/\.svg$/)
        .include.add(path.resolve(__dirname, './src/icons'))
        .end()
        .use('svg-sprite-loader')
        .loader('svg-sprite-loader')
        .options({
          symbolId: 'icon-[name]'
        })
    const fileRule = config.module.rule('file')
    fileRule.uses.clear()
    fileRule
        .test(/\.svg$/)
        .exclude.add(path.resolve(__dirname, './src/icons'))
        .end()
        .use('file-loader')
        .loader('file-loader')
  },
  css: {
    loaderOptions: {
      css: {
        // 这里的选项会传递给 css-loader
      },
      postcss: {
        // 这里的选项会传递给 postcss-loader
      },
      less:{
      }
    }
  },
  // chainWebpackResolve: config => {
  //   config.resolve.alias.set('@public', resolve('public'))
  // }
}
